home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / program / bgui12.lha / changes.doc < prev    next >
Text File  |  1995-09-23  |  36KB  |  896 lines

  1.  
  2.  
  3. `BGUI' release 1.2 - Development history.
  4. *****************************************
  5.  
  6. V37.11
  7. ******
  8.  
  9.    * Started written history...
  10.  
  11.    * Added the PROGRESS_Divisor tag for those extremely large values.
  12.  
  13.    * BUG FIX: The progress class object could fill the gauge 1 pixel to far in
  14.      some cases. Added some extra code to prevent this from happening.
  15.  
  16.    * Added the external class. This class makes it easy to include third party
  17.      classes like the colorwheel.gadget in a BGUI user interface. Still have
  18.      major problems handling notification though...
  19.  
  20.    * Added the WM_ADDUPDATE method to the window class. This method makes it
  21.      possible to connect an external class object to another object to perform
  22.      simple icclass style notification.
  23.  
  24. V37.12
  25. ******
  26.  
  27.    * BUG FIX:    The layout engine sometimes layouted an object one or two
  28.      pixels to small. Added some extra code to prevent this from happening.
  29.  
  30.    * Added the LGO_Align attribute to enhance the layout procedure.
  31.  
  32.    * BUG FIX: The stringclass screwed up in computing it's minimum size when
  33.      it did not have a frame attached to it.
  34.  
  35.    * BUG FIX: The layout engine sometimes GURU'd. Ooops. Should be fixed now.
  36.  
  37.    * BUG FIX: The LISTV_RenderHook did not setup the entry correctly in the
  38.      lvRender structure.
  39.  
  40.    * Added the LVM_REMENTRY method which can be used to remove single entries
  41.      from a listview.
  42.  
  43.    * Added the LVM_REFRESH method to refresh the listview object after
  44.      adding/removing some entries.
  45.  
  46.    * BUG FIX: The infoclass computed the maximum width of the formatted text
  47.      one pixel to small.
  48.  
  49. V37.13
  50. ******
  51.  
  52.    * BUG FIX: The window class did not succeed in opening a screen size window
  53.      when the screen was smaller than it's default size.
  54.  
  55.    * BUG FIX: The listview class did not refresh the list correctly when a
  56.      single entry was added.
  57.  
  58.    * BUG FIX: Fixed the AddEntryVisible macro in bgui_macros.h.
  59.  
  60.    * BUG FIX: Fixed a couple of bugs in the string class. Bugs found by Paul
  61.      weterings.
  62.  
  63.    * BUG FIX: The Toggle() and KeyToggle() macros from bgui_macros.h did not
  64.      make it possible to set a toggle button selected by default. Note that
  65.      these macros require an additional parameter now. Bug found by Paul
  66.      Weterings.
  67.  
  68. V37.14
  69. ******
  70.  
  71.    * BUG FIX: The online-help system of the gadget objects did not work at all.
  72.  
  73.    * BUG FIX: The drop-box frame used incorrect spacing when the
  74.      FRF_THIN_FRAME flag was set.  The radio-button frame totally ignored the
  75.      FRF_THIN_FRAME flag. Bugs found by Paul Weterings.
  76.  
  77.    * Added the LISTV_TitleHook attribute to the listview class. This hook
  78.      makes it possible to render a title entry in the listview object. Can
  79.      come in handy with multi-column listviews.
  80.  
  81.    * Re-arranged and adjusted the source for DICE V3.0 commercial. Boy oh boy
  82.      it really is picky about correct prototyping now...
  83.  
  84.    * The list class now uses the memory pool routines from the 3.1 amiga.lib.
  85.      This means working memory pools even on 2.04.
  86.  
  87.    * BUG FIX: The group class did not always yield the correct results when
  88.      requesting the minimum size of another group. This resulted in a
  89.      wrong-sized mx object when it had a label attached to it.
  90.  
  91. V37.15
  92. ******
  93.  
  94.    * Added task-relative information tracking. This means that from now on the
  95.      library is a `SINGLE-TASK-LIBRARY'. If your code spawns a sub-task that
  96.      requires the use of `BGUI' then this sub-task must open the library
  97.      itself. It may not share the base pointer with the main-task.
  98.  
  99.    * Added the WINDOW_UniqueID attribute to give a window a unique ID of your
  100.      choise. This ID is used by the task-relative information tracking to
  101.      store the window size/position even when you dispose of the object and
  102.      re-generate it.
  103.  
  104.    * Added the LVM_SORT method for re-sorting the entries in a listview
  105.      object. Also added the SortList() macro in bgui_macros.h for this purpose.
  106.  
  107.    * Made the flag bits of the frameclass and labelclass also available as
  108.      boolean tags. This allows for easier switching of single flags.
  109.  
  110.    * BUG FIX: The lvma_Entry field of the lvmAddSingle structure was defined
  111.      as (APTR *) while it should be (APTR).
  112.  
  113. V37.16
  114. ******
  115.  
  116.    * You can now reset the knob of a sliderclass or propclass object to it's
  117.      initial setting by pressing the right mouse button before releasing the
  118.      left-button.
  119.  
  120.    * Added the WINDOW_Window attribute to enable you to obtain a pointer to
  121.      the window structure of a windowclass object.
  122.  
  123.    * Started keeping up with the source code revisions using the Revision
  124.      Control System (RCS) supplied with DICE 3.0.
  125.  
  126. V37.17
  127. ******
  128.  
  129.    * BUG FIX: The buttonclass now takes the design size of a vectorclass image
  130.      into consideration when computing it's minimum size. Bug found by Wouter
  131.      van Oortmersen.
  132.  
  133.    * BUG FIX: Fixed the rendering bug of objects on invisible pages. Bug found
  134.      by Paul Weterings.
  135.  
  136.    * BUG_FIX: Fixed the enforcer hits of Infoclass objects in a Pageclass
  137.      object. Bug found by Paul Weterings.
  138.  
  139.    * Added a XEN style button frame to the frame class. Also added some new
  140.      macros to the bgui_macros header specially for this purpose.
  141.  
  142.    * Added XEN macros in the bgui_macros.h file for the checkbox and cycle
  143.      objects.
  144.  
  145.    * Added the GROUP_BackFill attribute to supply a group backfill possibility
  146.      without a group frame.
  147.  
  148.    * Added the BREQF_XEN_BUTTONS flag to supply the requester buttons with a
  149.      XEN style frame.
  150.  
  151. V37.18
  152. ******
  153.  
  154.    * BUG FIX: The infoclass sometimes screwed up with text-styles. I'm not
  155.      sure if this was a bug in the infoclass itself but I have coded a
  156.      work-around to the problem.
  157.  
  158.    * Optimized setting pens and drawmode in a rastport. Now the code checks
  159.      the pens and drawmode to see if it needs to change. Should speed up the
  160.      rendering somewhat.
  161.  
  162.    * BUG FIX: When flushing the library from memory while one or more of the
  163.      classes failed to free could result in a GURU. This should not happen
  164.      anymore.
  165.  
  166.    * Added the seperator class which adds the possibility to seperate groups
  167.      with a single 3D line with or without a title. Also added a couple of
  168.      macros to bgui_macros.h for this purpose.
  169.  
  170. V37.19
  171. ******
  172.  
  173.    * BUG FIX: The stringclass by default used the wrong pens to render it's
  174.      contents. Now the correct pens are used by default keeping track of user
  175.      set pens.
  176.  
  177.    * Added some simple macros for NewMenu definitions in the bgui_macros.h
  178.      header.
  179.  
  180.    * BUG FIX: Drag-selecting menus would result in replying a non-existant
  181.      IntuiMsg (enforcer hits...  GURUs... `ouch!')
  182.  
  183.    * BUG FIX: Fixed a bug that caused rendering object labels in the wrong
  184.      color when the object was selected and the label was located outside the
  185.      object hit area.
  186.  
  187.    * BUG FIX: The HorizSlider() macro was broken.
  188.  
  189.    * BUG_FIX: Some classes screwed up computing their minimum size when the
  190.      label was located above or below the object. This should not happen
  191.      anymore.
  192.  
  193.    * Extended the Listview class rendering hook result code. When the hook
  194.      returns non-NULL the class will see this as a string and render it. A
  195.      result code of NULL is ignored. Please read the LISTV_DisplayHook section
  196.      of the listviewclass.doc file for more information on this subject.
  197.  
  198.    * Added hook-notification to the baseclass. Please refer to the
  199.      baseclass.doc file for more information on this subject.
  200.  
  201.    * BUG FIX: Fixed a small bug in the tab-cycling code of the string class.
  202.      The bug caused non-tabcycling gadgets to notify the event-handler when it
  203.      was de-activated.
  204.  
  205.    * BUG FIX: The AddEntrySelect() macro was broken.
  206.  
  207.    * Added the LVM_LOCKLIST and LVM_UNLOCKLIST methods to the listview class.
  208.      These methods should have been in there from the beginning to prevent
  209.      strange results when somebody is fiddling with the listview while you are
  210.      changing one of it's entries.
  211.  
  212.    * BUG FIX: While converting a text-editor I'm writing to `BGUI' I came
  213.      accross a buch of small bugs bugs in `BGUI'. These (I shall not list
  214.      them) should be fixed now.
  215.  
  216.    * BUG FIX: When using a shared window port for the `BGUI' windows it would
  217.      happen that the event handler did not get the initial IDCMP_ACTIVEWINDOW
  218.      message because the port is added to the window after it is opened. Now
  219.      the code will manually activate the window when the WA_Active tag is TRUE
  220.      after the port has been added.
  221.  
  222. V37.20
  223. ******
  224.  
  225.    * Changed the behaviour of the WINDOW_UniqueID tag when the
  226.      WINDOW_PosRelBox tag is also used.  Please refer to the WINDOW_UniqueID
  227.      section of the windowclass.doc file for more information.
  228.  
  229.    * Added some extra code to ensure that the window sizing-gadget size is
  230.      computed correctly. This will ensure the correct operation with patches
  231.      like SysIHack. One note about SysIHack... When using the PGA_NewLook
  232.      feature SysIHack renderes the proportional gadget left&and up from the
  233.      intended location and to big and it ignores the PGA_Borderless tag. I
  234.      would report this to the author of SysIHack if only I knew who Mr. BOOPSI
  235.      was :)
  236.  
  237.    * BUG FIX: The progress class now checks frame thickness before filling the
  238.      indicator.
  239.  
  240.    * BUG FIX: Fixed the PACKPENS() macro in bgui_macros.h. Docs clearly state
  241.      "packed as two WORDs into a longword" but as it seems it should be two
  242.      bytes in a word? Am I wrong???
  243.  
  244.    * BUG FIX: After testing BGUI on another public screen with a BACKGROUNDPEN
  245.      different from 0 it came to my attention that BGUI had some problems with
  246.      this. Now all rendering should occure OK with a different BACKGROUNDPEN
  247.      than 0. I have fixed the labelclass and vectorclass and added a
  248.      backfill-hook (WA_BackFill) to the windowclass to fix these problems.
  249.  
  250.    * Added a pop-up menu option to the cycle class. Also added a couple of new
  251.      macros to bgui_macros.h to support this new option. Suggested by Jim
  252.      Cooper.
  253.  
  254.    * The infoclass does not clip the text anymore when it won't fit. Now it
  255.      simply renders as much text as will fit in the area.
  256.  
  257.    * Removed the text class completely. It was not a necessary class since the
  258.      infoclass can do the most important things that the text class could do.
  259.      The info class even does a better job at it. This also means that I
  260.      finally got rid of all rastport-clipping.
  261.  
  262.    * The complete GUI is rendered in a buffer bitmap so that it can be made
  263.      visible in a single blit. This looks much smoother than rendering visible
  264.      on-screen. If a buffer cannot be allocated the rendering occures
  265.      on-screen.
  266.  
  267.    * BUG FIX: It was possible to size an empty group to 0x0 which lead to
  268.      potentially dangerous situations. I have made all RectFill() that are
  269.      performed safe which means that the rectangle specified is checked for
  270.      wierd values.
  271.  
  272. V37.21
  273. ******
  274.  
  275.    * Changed the imagery of the cycle gadget when it is in Popup mode. It is
  276.      not the best of imagery but it works. If anybody has a better idea let me
  277.      know.
  278.  
  279.    * BUG FIX: A window with an ID and positioned relative to a rectangle would
  280.      be placed wrong if the window was to big for the used font. This does not
  281.      happen anymore but windows which grow to big for the used font and have
  282.      to use the fall-back font will not remember it's size.
  283.  
  284.    * BUG FIX: Fixed a big-fat-stupid-lame-bug in the external class. I failed
  285.      to aply rule number one when writing a BOOPSI dispatcher by not using the
  286.      __geta4 (__saveds) qualifier.  Bug found by Paul Weterings.
  287.  
  288.    * BUG FIX: Using a frame and/or a label on the master-group caused the
  289.      rendering of this frame and/or label to be overwritten. Bug found by Paul
  290.      Weterings.
  291.  
  292.    * Changed Xen frame rendering so that you get "rounded" corners. Looks much
  293.      better.
  294.  
  295.    * Made the LISTV_Top attribute gettable as it should have been al along.
  296.  
  297.    * BUG FIX: Some IDCMP bits where not accessable with an IDCMP hook. Should
  298.      be fixed now.
  299.  
  300.    * Added the EXT_NoRebuild attribute to handle external gadgetclasses which
  301.      are smart enough to handle a resize themselves. Suggested by Paul
  302.      Weterings.
  303.  
  304.    * BUG FIX: The stringclass rendered through the active page when it's
  305.      contents was changed.  This also happened when the gadget was not located
  306.      on the active page. Bug found by Paul Weterings.
  307.  
  308.    * Added a method to the groupclass to insert members at any place into an
  309.      already existing group. Suggested by Paul Weterings.
  310.  
  311.    * The cycleclass notification (in popup mode) is now delayed until the menu
  312.      window is closed. Suggested by Paul Weterings.
  313.  
  314.    * The pageclass now also renders the current page in a buffer before it is
  315.      shown. Note that this is only true when the page to show is a group.
  316.      Suggested by Paul Weterings.
  317.  
  318. V37.22
  319. ******
  320.  
  321.    * BUG FIX: LISTV_MakeVisible and LISTV_Select did not make the item
  322.      visible. Bug found by Paul Weterings.
  323.  
  324.    * Added a couple of macros to create non-fixed size checkbox objects.
  325.      Suggested by Paul Weterings.
  326.  
  327.    * Made the WINDOW_Screen and WINDOW_PubScreenName settable when the window
  328.      is closed. Suggested by Paul Weterings.
  329.  
  330.    * BUG FIX: The Popup menu of a Popup-Cycle object would not open on the
  331.      correct screen when the window in which it resided was not located on the
  332.      default public screen. Bug found by Paul Weterings.
  333.  
  334.    * BUG FIX: Erasing the title area of a seperatorclass object did not yield
  335.      the desired result when the area-pattern of the rastport was not cleared.
  336.  
  337.    * BUG FIX: After running tests with memoration it came to my attention that
  338.      the re-size oprations where not working properly if the buffer rastport
  339.      could not be allocated.
  340.  
  341. V37.23
  342. ******
  343.  
  344.    * Enhanced listview class scrolling a bit. The old routines had a lot of
  345.      overhead because they simple re-rendered the complete list even if the
  346.      top only changed one or two places.
  347.  
  348.    * Switching pages in a pageclass object looks smoother now.
  349.  
  350.    * Most small allocations are now made in memory pools instead of allocating
  351.      them directly from the system memory pool.
  352.  
  353.    * Changed the operation of the WINDOW_SigMask, WINDOW_AppMask and
  354.      COMM_SigMask attributes. Instead of OR'ing the mask value to the storage
  355.      field the mask value is set now.
  356.  
  357.    * Added the WINDOW_Bounds attribute which can be used to open a window at
  358.      the place and width the size that you want. Suggested by Paul Weterings.
  359.  
  360.    * Initial Public Beta Release... (30.09.94)
  361.  
  362. V37.24
  363. ******
  364.  
  365.    * Added the BT_HelpText and WINDOW_HelpText attributes to pop a requester
  366.      with a help text instead of having to use AmigaGuide. for small help.
  367.      This also results in a new BGUI catalog (version 2).
  368.  
  369.    * BUG FIX: BGUI did not recognize language changes. Now each time BGUI
  370.      needs to access localized strings the catalog is refreshed before
  371.      actually accessing the strings. This results in the strings always being
  372.      in the preferred language.
  373.  
  374.    * Added the GROUP_EqualWidth and GROUP_EqualHeight attributes to make the
  375.      members of a group all have the same minimum width and or height.
  376.  
  377.    * Made the WINDOW_Bounds attribute settable with OM_SET. You can set it
  378.      when the window is closed or opened. Suggested by Paul Weterings.
  379.  
  380.    * Initial Public Release (09.10.94)
  381.  
  382. V37.25
  383. ******
  384.  
  385.    * BUG FIX: Most of the macros in the Amiga E support that called uppon
  386.      BGUI_DoGadgetMethodA() were broken. Major screwup from my side. Sorry...
  387.  
  388.    * Made the GA_Disabled tag settable with OM_SET/OM_UPDATE on groupclass
  389.      objects. When set on a groupclass object all members in the group will be
  390.      disabled/enabled. Suggested by Paul Weterings.
  391.  
  392.    * BUG FIX: The mxclass can now be controlled by the keyboard. Keyboard
  393.      control of this class is style guide compliant.
  394.  
  395.    * BUG FIX: Sometimes the key message handler of the windowclass could leave
  396.      a message pending which could result in repeated keys not functioning
  397.      anymore. Should be fixed now.
  398.  
  399.    * BUG FIX: Manually setting LISTV_Top with OM_SET or OM_UPDATE did not move
  400.      the scroller along with the list.
  401.  
  402.    * Increased the minimum height of a listview class object.
  403.  
  404.    * The initial public release lacked the presence of the clib/bgui_protos.h
  405.      file. Sorry about that.
  406.  
  407.    * BUG FIX: The MsgInfo in bgui_macros.[p]ma of the Amiga E support was
  408.      broken.
  409.  
  410.    * BUG FIX: For some strange reason the OS 2.04 propgclass seems to fiddle
  411.      with the font in the RastPort. This caused the adding of entries in a
  412.      listview object to give strange results when the system font and screen
  413.      font differed. Should be fixed now. Bug found by Michael Barsoom.
  414.  
  415.    * Added the PAGE_NoBufferRP and WINDOW_NoBufferRP attributes. This will
  416.      alow you to have rendering happen on-screen.
  417.  
  418.    * Release 1.0a. Public bug-fix update #1.
  419.  
  420. V38.1
  421. *****
  422.  
  423.    * Enhanced adding a single entry visibly to a listview object. This used to
  424.      cause a complete list refresh with every added item. Now only the added
  425.      entry and the prop are refreshed.
  426.  
  427.    * Seperators are rendered slightly different now. Suggested by Magnus
  428.      Holmgren.
  429.  
  430.    * Added the LISTV_LastClickedNum attribute which can be used to query the
  431.      ordinal number of the last selected entry of a listview object.
  432.  
  433.    * Added the WM_REPORT_ID method to the windowclass. This method can be used
  434.      to set return codes from a IDCMP-hook or Verify-hook. The ID's are
  435.      stacked internally and the next time the windowclass IDCMP handler is
  436.      called returned to the application one by one.
  437.  
  438.    * Made the VIT_VectorArray and VIT_BuiltIn attributes settable on a
  439.      buttonclass object. Suggested by Paul Weterings.
  440.  
  441.    * BUG FIX: Setting both the GA_Disabled and CYC_Active tag on a cycle class
  442.      object would not change the label visibly.
  443.  
  444.    * Added the LGO_NoAlign layout attribute to the groupclass which forces the
  445.      layout engine not to align the object it's hitbox with the others.
  446.      Suggested by Florian Vorberger.
  447.  
  448.    * Now NULL may be passed with the STRINGA_TextVal attribute to the
  449.      stringclass. Normally the system stringclass does not allow this.
  450.  
  451.    * Added the some magic numbers to the LISTV_Select attribute. Suggested by
  452.      Michael Barsoom.
  453.  
  454.    * The alignment of the hitboxes in a vertical group sometimes made the
  455.      total width of the group to large. Should not happen anymore. Bug found
  456.      by Florian Vorberger.
  457.  
  458.    * Added the LVM_MOVE method and LISTV_NewPosition attribute for moving
  459.      entries in a listview object.
  460.  
  461.    * Added the LISTV_NumEntries attribute for getting the number of entries in
  462.      a listview object.
  463.  
  464.    * Added the LISTV_Select_Page_Up and LISTV_Select_Page_Down magic numbers.
  465.  
  466.    * Enhanced the indicatorclass minimum size calculations. The old routine
  467.      was 100% precise but took ages to complete with a large difference
  468.      between min & max. It now "guesses" the correct minimum size but is
  469.      `much' faster. Reported by several people.
  470.  
  471.    * Added keyboard shortcuts for BGUI_RequestA().
  472.  
  473.    * Added the BUTTON_Image and BUTTON_Selected image tags to the buttonclass
  474.      which may be used to add Intuition or BOOPSI imagery to a button object.
  475.  
  476.    * Optimized some stuff internally which saved a couple of bytes of the
  477.      library. Still under the 100000 bytes ;)
  478.  
  479.    * Added the WINDOW_AutoAspect attribute and BREQF_AUTO_ASPECT flag to let
  480.      the windowclass decide wether the objects use thick or thin framing.
  481.      Suggested by Paul Weterings. Passed the 100000 bytes :(
  482.  
  483.    * From now on infoclass command sequences are valid for listviewclass text
  484.      entries. Also returned strings from a LISTV_DisplayHook may contain
  485.      infoclass command sequences.
  486.  
  487.    * The format string specified with the INFO_TextFormat and
  488.      INDIC_FormatString attributes may now contain locale.library
  489.      FormatString() formatting (%) codes. Please note that locale specific
  490.      formatting codes will only work when the locale.library is available.
  491.  
  492.    * Added a screen field to the bguiRequest structure.
  493.  
  494.    * Added a Tabber mode for the mxclass. This mode will give you a Tabs-like
  495.      object which can be used to select pages from a pageclass object.
  496.  
  497.    * Release 1.1. Second Public Release.
  498.  
  499. V38.2
  500. *****
  501.  
  502.    * Shifted numerical gadget keys did not work. Should be fixed now. Bug
  503.      found by Florian Vorberger.
  504.  
  505.    * Added the LISTV_MinEntriesShown attribute which can be used to determine
  506.      the number of entries that should be visible at all times. Suggested by
  507.      Stan Burton.
  508.  
  509.    * BUG FIX: Setting the CYC_Active attribute on a cycleclass object when it
  510.      was not in a window would erase the old label but not set the new one.
  511.      Bug found by Florian Vorberger.
  512.  
  513.    * BUG FIX: AmigaGuide help did not open on the correct screen if the window
  514.      was not located on the default public screen. Bug found by Zachary A.
  515.      Forsyth.
  516.  
  517.    * BUG FIX: Controlling a Mx object in tabs mode would not cycle through
  518.      when it reached the end or the beginning like it was supposed to. Also
  519.      key-activation of an mx object did not generate an event.  Bugs found by
  520.      Johan Eliasson.
  521.  
  522.    * BUG FIX: Fixed a rendering bug in the stringclass and one in the cycle
  523.      class.
  524.  
  525.    * BUG FIX: Sometimes a string object could be resized to small. Bug found
  526.      by Stan Burton.
  527.  
  528.    * BUG FIX: Changing the text or arguments of a frameless infoclass object
  529.      would result in overwriting the old text instead of replacing it. Bug
  530.      found by several people.
  531.  
  532.    * BUG FIX: Again some macros from the E support where broker. Jeezz, maybe
  533.      I should have tested them all.
  534.  
  535.    * Released as bug-fix patch on the mailinglist.
  536.  
  537. V38.3
  538. *****
  539.  
  540.    * Changed the Amiga E support to require at least version 3.1a of the Amiga
  541.      E compiler.
  542.  
  543.    * BUG FIX: Tab-cycling should work    through pages now. Simply add all string
  544.      objects with WM_TABCYCLE_ODER and you're done. Reported by Patrick
  545.      (poseidon@newswire.gun.d).
  546.  
  547.    * BUG FIX: The groupclass could compute the minimum size incorrect. Should
  548.      be fixed now.  Reported by Florian Vorberger.
  549.  
  550.    * BUG FIX: The internal memory allocator screwed up by releasing 4 bytes
  551.      short of the original allocator. Also the initializing the localization
  552.      gave mungwall hits. Bugs found by Magne Oestlyngen.
  553.  
  554.    * BUG FIX: The listview class became as slow as a C= 64 diskdrive when
  555.      scrolling it at the end of a large amount of entries. This should not
  556.      happen anymore. Bug found by Johan Eliasson.
  557.  
  558.    * Enhanced adding single entries to a listview. Adding with LVAP_TAIL or
  559.      LVAP_HEAD should be considerably faster now.
  560.  
  561.    * BUG FIX: The last enhancement could cause problems when adding the first
  562.      item. Fixed.
  563.  
  564.    * BUG FIX: The layout engine did not read all tags when there where tags
  565.      specified after adding the members.
  566.  
  567.    * Added the PAGE_Inverted and GROUP_Inverted tags. These tags are
  568.      implemented to serve the assembly macro package.
  569.  
  570.    * Totally re-written the assembly header bgui_macros.i. Now it works. Added
  571.      a small demonstration in the Demo drawer which shows the usage of the
  572.      bgui.library in assembler. Paul Hamer put me up to this.
  573.  
  574.    * BUG FIX: Disabling and enabling a checkbox object ar any object with a
  575.      EdgesOnly frame should not be a problem anymore. Bug found by several
  576.      people.
  577.  
  578.    * BUG FIX: Again AmigaGuide help did not pop up on the right screen. I
  579.      fixed for the help attached to the gadget objects but help attached to a
  580.      window still had this problem. Bug found by Zachary A.  Forsyth.
  581.  
  582.    * BUG FIX: Opening the library twice in the same task and closing it once
  583.      would result in a crash when using BGUI after the single close. Bug found
  584.      by Janna Jalkanen.
  585.  
  586.    * BUG FIX: A PROGRESS_Max equal to PROGRESS_Min would result in a crash.
  587.      Bug found by Florian Vorberger.
  588.  
  589.    * BUG FIX: Newlines in the arguments of a BGUI_RequestA() requester
  590.      resulted in an incorrectly sized requester. Bug found by Janne Jalkanen.
  591.  
  592.    * Public bug-fix update #2.
  593.  
  594. V38.4
  595. *****
  596.  
  597.    * BUG FIX: The way the localization was handler could dereference invalid
  598.      memory pointers.
  599.  
  600.    * BUG FIX: Renamed the "Label" macro from the assembly support to "xLabel"
  601.      to avoid clashes with the exec/types.i "LABEL" macro. Also the
  602.      "WindowOpen" macro has been renamed to "xWindowOpen".
  603.  
  604.    * Released as 1.1b.
  605.  
  606. V38.5
  607. *****
  608.  
  609.    * Quirk Fix: Uppercase GadgetKeys() now are converted to lowercase for them
  610.      to work correctly.  Found by Michael Barsoom.
  611.  
  612.    * BUG FIX: Fixed a mean bug in the library task code which could cause
  613.      serious problems when the same task opens the library twice. Bug found by
  614.      Janne Jalkanen.
  615.  
  616.    * Work arround: BGUI should not have any problems with hacks like MagicMenu
  617.      and CycleToMenu anymore. Included some additional code from Osma
  618.      Ahvenlampi's "NewObtainGIRPort" patch to the library.
  619.  
  620.    * BUG FIX: Replace a couple of NULLs by NIL in the E macros.
  621.  
  622.    * BUG FIX: Fixed some font related problems with the cycle gadget.
  623.      Sometimes the font height was computed wrong.
  624.  
  625.    * BUG FIX: In some rare occasions the keyboard handling of objects could
  626.      get caught in a loop.  Should not happen anymore.
  627.  
  628.    * BUG FIX: The windowclass did not fall back to topaz 8 or the specified
  629.      font anymore! Fixing this bug also shed light on another bug in the
  630.      layout engine. Both bugs fixed. Bug found by Nick Christie.
  631.  
  632.    * Quirk fix. It was not possible to add tab-cycle string objects to a
  633.      window object in stages.  Now it is. Found by Paul Weterings.
  634.  
  635.    * BUG FIX: Adding the first item to a listview did not show on the screen.
  636.      Bug found by Emmanuel Doguet.
  637.  
  638.    * The rastport pointer passed to the Listview custom rendering hook is
  639.      cached now.
  640.  
  641.    * BUG FIX: Removed a rendering bug in the MX class which screwed up visuals
  642.      a bit when the object was switched from disabled to enabled state. This
  643.      was true for the normal MX objects and mx objects in tabs mode. Bug found
  644.      by Janne Jalkanen.
  645.  
  646.    * Added some defines to fix a spelling error in the BGUI headers in which
  647.      "Separator" was misspelled as "Seperator". Reported by Nick Christie.
  648.  
  649.    * BUG FIX: The minimum height of string object with a label was bigger than
  650.      string objects without a label. Bug found by Emmanuel Doguet.
  651.  
  652.    * Released as bug-fix patch on the mailing list.
  653.  
  654. V38.6
  655. *****
  656.  
  657.    * The window class now makes a private copy of the NewMenu array passed via
  658.      the WINDOW_MenuStrip attribute. Suggested by Janne Jalkanen.
  659.  
  660.    * BUG FIX: String class objects, when located in a tab-cycle order, sent
  661.      two or even three messages to the windowclass event handler. Bug found by
  662.      several people.
  663.  
  664.    * BUG FIX: Yet another dangerous bug found in the library task-tracking
  665.      code. Sometimes the semaphore did not get released. Bug found by Zachary
  666.      A. Forsyth.
  667.  
  668. V38.7
  669. *****
  670.  
  671.    * BUG FIX: Setting an attribute to a cycleclass object on an invisible page
  672.      would screw up the display. Should be fixed now. Bug found by Stan Burton.
  673.  
  674.    * BUG FIX?: Fixed a bug in the keyboard handling which might be the cause
  675.      of the fact that sometimes qualifier keys randomly selected objects in a
  676.      window. Reported by several people.
  677.  
  678.    * The stringclass now supplies all buffers for you.
  679.  
  680. V39.1
  681. *****
  682.  
  683.    * Added the STRINGA_MinCharsVisible tag which allows you to determine how
  684.      many characters must always remain visible in a string/integer object.
  685.      Suggested by Emmanuel Doguet.
  686.  
  687.    * Made the BT_Inhibit attribute publically available. It can be used to
  688.      determine wether or not an object is located on an invisible page.
  689.      Suggested by Kai Szymanski.
  690.  
  691.    * BUG FIX: The WINDOW_Screen attribute opened the windows as visitors on
  692.      the specified screen.  Bug found by Emmanuel Doguet.
  693.  
  694.    * Added the WINDOW_PubScreen attribute as an alternative way to open
  695.      windows on a public screen.
  696.  
  697.    * Added the WINDOW_CloseOnEsc attribute which allows the application to
  698.      receive a WMHI_CLOSEWINDOW when the ESC key is pressed. Suggested by
  699.      Emmanuel Doguet.
  700.  
  701.    * Made the VIT_Pen and VIT_DriPen attributes settable on button objects
  702.      with a vector image.  Suggested by Nick Christie.
  703.  
  704.    * Added the LVM_REPLACE method.
  705.  
  706.    * Added the LISTV_SelectMulti attribute to multi-select listview entries.
  707.      Suggested by Johan Eliasson.
  708.  
  709.    * Added the LISTV_SelectNotVisible and LISTV_SelectMultiNotVisible
  710.      attributes to (multi) select entries without them being moved into the
  711.      view area. Suggested by Johan Eliasson.
  712.  
  713.    * Added the LISTV_MultiSelectNoShift attribute to enable
  714.      multi-(de)selections without having to use the SHIFT key. Suggested by
  715.      Johan Eliasson.
  716.  
  717.    * Made the LISTV_MultiSelect attribute settable with OM_SET and OM_UPDATE.
  718.      Suggested by Kai Szymanski.
  719.  
  720.    * Added the ReplaceEntry() macro to the bgui_macros.[h|e|i] files.
  721.  
  722. V39.2
  723. *****
  724.  
  725.    * It is now possible to double-click items in a multi-selection listview
  726.      without de-selecting the entry.
  727.  
  728.    * BUG FIX: The LVM_REPLACE method did not free up the entry to replace.
  729.      Ooops.
  730.  
  731.    * Added the LISTV_Select_All magic number for the LISTV_SelectMulti and the
  732.      LISTV_SelectMultiNotVisible attributes. This will enable you to select
  733.      all entries.
  734.  
  735.    * Added the LISTV_DeSelect attribute to deselect listview entries. A value
  736.      of ~0 (-1) will deselect all entries in the list.
  737.  
  738.    * BUG FIX: The BREQF_NO_PATTERN flag did not work.
  739.  
  740.    * Added the WINDOW_Borderless, WINDOW_Backdrop and WINDOW_ShowTitle
  741.      attributes. Suggested by several people.
  742.  
  743.    * Added the following tags: FRM_BackPen, FRM_BackDriPen,
  744.      FRM_SelectedBackPen, FRM_SelectedBackDriPen, LAB_Pen, LAB_DriPen,
  745.      LAB_SelectedPen, LAB_SelectedDriPen. These tags are used to set the
  746.      (dri)pens of the color of background of frames and of labels. These tags
  747.      have been made settable with the baseclass so it is possible to change
  748.      colors on the fly. Can't remember who suggested this.
  749.  
  750. V39.3
  751. *****
  752.  
  753.    * BUG FIX: A small optimization in the labelclass caused problems with the
  754.      cycleclass. Whe another label was selected all labels in the cycle object
  755.      became invisible.
  756.  
  757.    * Added the SEP_Recessed attribute to invert the colors of a separator to
  758.      make it appear recessed.  Suggested by Stan Burton.
  759.  
  760.    * BUG FIX: The string object does not send double events to your
  761.      application anymore. Also the notification your app got when the object
  762.      was deactivated is removed. Bugs found by Kai Szymanski.
  763.  
  764.    * BUG FIX: The hits gotten when resizing a window with a listview while
  765.      you're adding entries are gone now. Bug found by Greg Patterson.
  766.  
  767.    * OPT: Optimized the following classes: labelclass, frameclass,
  768.      vectorclass, groupclass, sliderclass, propclass, windowclass. These
  769.      optimizations should make BGUI visibly faster. More optimizations will
  770.      follow.
  771.  
  772. V39.4
  773. *****
  774.  
  775.    * BUG FIX: The stringclass object could be made active when disabled by
  776.      ActivateGadget(). Should not happen anymore. Bug found by Florian
  777.      Vorberger.
  778.  
  779.    * BUG FIX: The previous propclass optimizations introduced a bug which
  780.      caused clicking in the prop but not on the knob not to notify a change.
  781.  
  782.    * BUG FIX: Added a work-arround for the listview->italics problem. Bug
  783.      found by Nick Christie.
  784.  
  785. V39.5
  786. *****
  787.  
  788.    * Tweaked the minimum size of the string object. Suggested by Kay Szymanski.
  789.  
  790.    * Made the SLIDER_Min and SLIDER_Max attributes settable. Suggested by Nick
  791.      Christie.
  792.  
  793.    * Added the STRINGA_IntegerMin and STRINGA_IntegerMax attributes. Also
  794.      added the SM_FORMAT_STRING method. Suggested by Michael Barsoom.
  795.  
  796.    * Made the BUTTON_Image and BUTTON_SelectedImage settable. Suggested by
  797.      Nick Christie.
  798.  
  799.    * BUG FIX: Frames do work with indicatorclass objects now. Bug found by
  800.      Nick Christie.
  801.  
  802.    * BUG FIX: Finally all problem with the string/integer objects and
  803.      tab-cycling should be fixed now. Bug found by just about everybody.
  804.  
  805. V39.6
  806. *****
  807.  
  808.    * BUG FIX: The WM_MENUDISABLED method from the windowclass did not work on
  809.      items and subitems.  Now it does. Bug found by Emmanuel Doguet.
  810.  
  811.    * Added the BUTTON_EncloseImage attribute. Suggested by Emmanuel Doguet.
  812.  
  813.    * Added the WM_GET_SIGNAL_WINDOW method to determine the window from which
  814.      the signal originated.
  815.  
  816.    * Added a NULL LISTV_Entry notification when the LVM_CLEAR method is
  817.      invoked. Suggested by Michael Barsoom.
  818.  
  819.    * Optimized the baseclass a bit resulting in a slight general speedup.
  820.  
  821.    * The STRINGA_TextVal/LongVal did not get notified to any target objects.
  822.      Bug found by Janne Jalkanen.
  823.  
  824.    * Made the BT_TextAttr attribute gettable with OM_GET.
  825.  
  826.    * Added the WINDOW_ActNext and WINDOW_ActPrev attributes. These are only
  827.      useful and of interest to custom BGUI class writers.
  828.  
  829.    * The infoclass now makes a private copy of the format string. Suggested by
  830.      Greg Patterson.
  831.  
  832.    * BUG FIX: Fixed a small baseclass bug which caused mis-layouting when the
  833.      font changed. Bug found by Nick Christie.
  834.  
  835.    * BUG FIX: The infoclass did not cut of the lines properly when they went
  836.      out of the bounds. Bug found by Daniel van Gerpen.
  837.  
  838.    * BUG FIX: The Left-Amiga+V/Left-Amiga+B shortcuts in BGUI_Request() where
  839.      mixed up. Bug found by Emmanuel Doguet.
  840.  
  841.    * BT_TextAttr can now be set at create time which makes it possible to have
  842.      a multifont display.
  843.  
  844.    * Finally got rid of the anoying mouse-blocking which occured on window
  845.      sizing and opening. Still have to get rid of it when switching pages
  846.      though.
  847.  
  848. V39.7
  849. *****
  850.  
  851.    * BUG FIX: An empty string in a listview object did not show as selected
  852.      when clicked.
  853.  
  854.    * BUG FIX: When resizing the GUI whilst doing some keyboard activation of
  855.      an object could result in a crash. Yuck!
  856.  
  857.    * QUIRK FIX: Switched to system memory allocation in the info class to
  858.      avoid problems when another task changes the text of an info-class
  859.      object. Reported by Kai Szymanski.
  860.  
  861.    * Removed the internal task-based memory pool scheme. This presented to
  862.      much problems when programming BGUI in a multi-task application. It was a
  863.      bad idea to begin with.
  864.  
  865.    * Made setting WINDOW_Bounds, NULL legal. It simply fall's back to the
  866.      default in that case.  Suggested by Emmanuel Doguet.
  867.  
  868.    * Added the BREQF_FAST_KEYS flag to default the Return/Esc keys as gadget
  869.      keys. Suggested by several people.
  870.  
  871.    * BUG FIX: The sliderclass did not align the knob when it was released at
  872.      the maximum position.
  873.  
  874.    * QUIRK FIX: Removed the problem of BGUI windows crashing the system when
  875.      the size was changed via ZipWindow()/ChangeWindowBox() etc. It should
  876.      work with tools like Yak now to. Result of this fix is that the mouse
  877.      will block again when the window is resized using these routines.
  878.  
  879.    * Added the WINDOW_NoVerify tag to avoid problems with using DOS and not
  880.      being able to respond to window signals quickly.
  881.  
  882. V39.8
  883. *****
  884.  
  885.    * BUG FIX: LVM_CLEAR did not clear the LISTV_LastClicked(num) attributes.
  886.      Bug found by Emmanuel Doguet.
  887.  
  888.    * BUG FIX: Fixed a problem with hotkeys not being disabled on page members
  889.      which are located on a page which in turn is located on another page. Bug
  890.      found by Joerg.
  891.  
  892.    * BUG FIX: The cycleclass still screwed up the display when the active
  893.      antry was changed while the object was located on an invisible page. Bug
  894.      found by Joerg.
  895.  
  896.